课程简介
本课程将学习如何利用光敏电阻调节智能交通灯的亮度,使交通灯能够根据环境光线自动调整明暗。
视频:光敏电阻调节交通灯亮度演示
一、知识点
什么是映射?
映射就是给一个对象(可以是变量、物体等等)起一个唯一的别名。
二、学习任务
综合应用光敏电阻和智能交通灯,使交通灯的亮度随环境光强度变化。
三、搭建
1. 电路图
图1 电路图
2. 实验材料
arduino主控板模块、电池盒、10kΩ电阻、光敏电阻、交通灯模块、开关、软硬导线
图2 实验材料图
3. 实际搭建图
图3 搭建图
四、编程
1. 流程
定义引脚及变量-光敏电阻返回值赋值于变量-变量规定一定范围-变量赋值于LED亮度-三灯全灭绿灯亮-延时-绿灯闪-绿灯灭黄灯亮-延时-黄灯灭红灯亮-延时……(反复)
图4 流程图
2. IDE编程
程序要点:
- Setup(初始化函数)中编写定义引脚模式及序号。
- 创建光敏返回值子函数
- Loop(主循环函数)中编写:
- 映射→绿LED高电平→延时→子函数→绿LED闪烁5次→子函数→绿LED低电平黄LED高电平→延时→子函数→黄LED低电平红LED高电平→延时→子函数→红LED低电平
图5 IDE程序截图
3. 米思奇编程
程序要点:
- 定义管脚序号及模式
- 映射
- 子函数→绿LED高电平→延时→子函数→绿LED闪烁5次→子函数→绿LED低电平黄LED高电平→延时→子函数→黄LED低电平红LED高电平→延时→子函数→红LED低电平
图6 米思奇程序截图
五、关键点
- 光敏电阻需要配合电阻使用形成分压电路
- LED亮度调节使用PWM模拟输出功能
- 映射功能可以将光敏电阻的取值范围转换到LED亮度控制范围内
- 交通灯的逻辑控制需要按照现实中的顺序:绿灯→绿灯闪烁→黄灯→红灯